Verilog: module vl_7_segment_hexadecimal_decoder(A, B, C, D, a, b, c, d, e, f, g); input A, B, C, D; output a, b, c, d, e, f, g; wire e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e31, e32, e33; nand u0(e0, A, D); not u1(C, e1); nand u2(e2, B, D); nor u3(e3, A, B); not u4(A, e4); nand u5(e5, A, C); nand u6(e6, A, B); or u7(e7, D, C); nand u8(e8, C, e0); nand u9(e9, A, e1, e2); nand u10(e10, e2, D); nand u11(e11, A, e1); nand u12(e12, e2, B); not u13(e0, e13); nand u14(e14, C, e2); nand u15(e15, D, e6); not u16(e3, e16); nand u17(e17, D, e1); nand u18(e18, e3, C); nand u19(e19, A, e2); nand u20(e20, e10, e11, e12); or u21(e21, B, e13); nand u22(e22, e1, e13); nand u23(e23, e4, e14, e17); nand u24(e24, e6, e16); nand u25(e25, e1, e9); nand u26(e26, e1, e10, e12); nand u27(e27, e15, e3); nand u28(a, e8, e9, e20); nand u29(b, e21, e22, e23); nand u30(c, e24, e25, e10); nand u31(e31, e20, e25); nand u32(e32, e15, e23); or u33(e33, e24, C); nand u34(d, e31, e26, e18); nand u35(e, e32, e5, e27); nand u36(f, e19, b, e7); nand u37(g, e14, e33, e0); endmodule VHDL: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; -- =========================================== ENTITY 7_segment_hexadecimal_decoder IS PORT ( A : IN BIT; B : IN BIT; C : IN BIT; D : IN BIT; a : OUT BIT; b : OUT BIT; c : OUT BIT; d : OUT BIT; e : OUT BIT; f : OUT BIT; g : OUT BIT ); END 7_segment_hexadecimal_decoder; -- =========================================== ARCHITECTURE gate_level OF 7_segment_hexadecimal_decoder IS COMPONENT not1 PORT (a1: IN BIT; z: OUT BIT); END COMPONENT; -- Intermediate nets SIGNAL e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e31, e32, e33 : BIT; BEGIN U0 : nand2 PORT MAP (A, D, e0); U1 : not1 PORT MAP (C, e1); U2 : nand2 PORT MAP (B, D, e2); U3 : nor2 PORT MAP (A, B, e3); U4 : not1 PORT MAP (A, e4); U5 : nand2 PORT MAP (A, C, e5); U6 : nand2 PORT MAP (A, B, e6); U7 : or2 PORT MAP (D, C, e7); U8 : nand2 PORT MAP (C, e0, e8); U9 : nand3 PORT MAP (A, e1, e2, e9); U10 : nand2 PORT MAP (e2, D, e10); U11 : nand2 PORT MAP (A, e1, e11); U12 : nand2 PORT MAP (e2, B, e12); U13 : not1 PORT MAP (e0, e13); U14 : nand2 PORT MAP (C, e2, e14); U15 : nand2 PORT MAP (D, e6, e15); U16 : not1 PORT MAP (e3, e16); U17 : nand2 PORT MAP (D, e1, e17); U18 : nand2 PORT MAP (e3, C, e18); U19 : nand2 PORT MAP (A, e2, e19); U20 : nand3 PORT MAP (e10, e11, e12, e20); U21 : or2 PORT MAP (B, e13, e21); U22 : nand2 PORT MAP (e1, e13, e22); U23 : nand3 PORT MAP (e4, e14, e17, e23); U24 : nand2 PORT MAP (e6, e16, e24); U25 : nand2 PORT MAP (e1, e9, e25); U26 : nand3 PORT MAP (e1, e10, e12, e26); U27 : nand2 PORT MAP (e15, e3, e27); U28 : nand3 PORT MAP (e8, e9, e20, a); U29 : nand3 PORT MAP (e21, e22, e23, b); U30 : nand3 PORT MAP (e24, e25, e10, c); U31 : nand2 PORT MAP (e20, e25, e31); U32 : nand2 PORT MAP (e15, e23, e32); U33 : or2 PORT MAP (e24, C, e33); U34 : nand3 PORT MAP (e31, e26, e18, d); U35 : nand3 PORT MAP (e32, e5, e27, e); U36 : nand3 PORT MAP (e19, b, e7, f); U37 : nand3 PORT MAP (e14, e33, e0, g); END gate_level;